// async function getImage (src) {
//   return new Promise((resolve, reject) => {
//     console.log('图片连接获取成功')
//     const img = document.createElement('img')
//     img.src = src
//     img.onload = () => {
//       console.log('图片加载中')
//       resolve(img)
//     }
//     img.onerror = () => {
//       reject(new Error('图片加载失败'))
//     }
//   }).then(img => {
//     document.body.appendChild(img)
//   }).catch(err => {
//     document.body.innerHTML = err
//   })
// }

// getImage('./images/嘉然loading.gif')

//   (async function () {
//     let result = await getImage('./images/嘉然loading.gif')
//   })()


// !(async function () {
//   const p = Promise.reject('err1')
//   // 下面代码不执行
//   const res = await p
//   console.log(res)
// })


// async/await常见执行顺序题
async function async1 () {
  console.log('start')  // 2
  await async2()
  console.log('end')  // 5
}

async function async2 () {
  console.log('async2')   // 3
}

console.log('script start')  // 1
async1()
console.log('script end')  // 4
